﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class MtaarinimedArinimi : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IMtaarinimedArinimi {
        
        private decimal @__reaId;
        
        private decimal @__ark;
        
        private string @__arinimi;
        
        private string @__eltyyp;
        
        private System.DateTime @__algusKpv;
        
        private System.DateTime? @__loppKpv;
        
        public MtaarinimedArinimi() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public MtaarinimedArinimi(decimal @reaId, decimal @ark, string @arinimi, string @eltyyp, System.DateTime @algusKpv, System.DateTime? @loppKpv) {
            this.@__reaId = @reaId;
            this.@__ark = @ark;
            this.@__arinimi = @arinimi;
            this.@__eltyyp = @eltyyp;
            this.@__algusKpv = @algusKpv;
            this.@__loppKpv = @loppKpv;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public MtaarinimedArinimi(decimal @reaId, decimal @ark, string @arinimi, string @eltyyp, System.DateTime @algusKpv) {
            this.@__reaId = @reaId;
            this.@__ark = @ark;
            this.@__arinimi = @arinimi;
            this.@__eltyyp = @eltyyp;
            this.@__algusKpv = @algusKpv;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected MtaarinimedArinimi(IMtaarinimedArinimi @mtaarinimedArinimi) {
            this.@__reaId = @mtaarinimedArinimi.ReaId;
            this.@__ark = @mtaarinimedArinimi.Ark;
            this.@__arinimi = @mtaarinimedArinimi.Arinimi;
            this.@__eltyyp = @mtaarinimedArinimi.Eltyyp;
            this.@__algusKpv = @mtaarinimedArinimi.AlgusKpv;
            this.@__loppKpv = @mtaarinimedArinimi.LoppKpv;
        }
        
        public virtual decimal ReaId {
            get {
                return this.@__reaId;
            }
            set {
                this.@__reaId = value;
            }
        }
        
        public virtual decimal Ark {
            get {
                return this.@__ark;
            }
            set {
                this.@__ark = value;
            }
        }
        
        public virtual string Arinimi {
            get {
                return this.@__arinimi;
            }
            set {
                this.@__arinimi = value;
            }
        }
        
        public virtual string Eltyyp {
            get {
                return this.@__eltyyp;
            }
            set {
                this.@__eltyyp = value;
            }
        }
        
        public virtual System.DateTime AlgusKpv {
            get {
                return this.@__algusKpv;
            }
            set {
                this.@__algusKpv = value;
            }
        }
        
        public virtual System.DateTime? LoppKpv {
            get {
                return this.@__loppKpv;
            }
            set {
                this.@__loppKpv = value;
            }
        }
    }
}
